今天來講講運用陣列的方式模擬佇列的行為好了
那麼何為佇列呢?以我們生活日常的例子來說舉例的話
最顯而易見的就是排隊了
push
在尾端加入新資料
pop
從前端取出資料
isEmpty
檢查Queue是否為空
getTail
回傳最後一筆資料
#define size 10
void push(int queue[], int *tail,int N){
if(*tail==size)
printf("isFull now\n");
else
queue[++(*tail)] = N;
}
void pop(int queue[], int *front){
printf("pop data is %d\n", queue[++(*front)]);
}
int isEmpty(int *front, int *tail){
if(*front==*tail)
return 1;
else
return 0;
}
void getTail(int queue[], int *tail){
printf("The last data is %d\n",queue[*tail]);
}
int main(){
int queue[size];
int i=0,front=-1,tail=-1;
for(i=0;i<size;i++){
push(queue,&tail,i);
}
getTail(queue,&tail);
while(!isEmpty(&front,&tail)){
pop(queue,&front);
}
}